The invention relates to the field of computers programs and systems, and more specifically to the field of computer-aided design (CAD), manufacturing (CAM), and engineering (CAE) systems.
A number of systems and programs are offered on the market for the design of parts, assemblies of parts and products thereof, such as the one provided by Dassault Systèmes under the trademark CATIA (Computer Aided Three Dimensional Interactive Application). CATIA is a multi-platform CAD/CAM/CAE software suite, commonly referred to as a 3D Product Lifecycle Management software suite. It supports multiple stages of product development (CAx), ranging from conceptualization, through design (CAD) and manufacturing (CAM), until analysis (CAE). This software suite is customizable via application programming interfaces (API). Some versions can be adapted in various programming languages, under dedicated APIs.
These so-called CAD systems notably allow a user to construct and manipulate complex three dimensional (3D) models of objects or assemblies of objects. CAD systems thus provide a representation of modeled objects using edges or lines, in certain cases with faces. These CAD systems manage parts or assemblies of parts as modeled objects, which are mainly specifications of geometry. In particular, CAD files contain specifications, from which geometry is generated. From geometry, a representation is generated. Specifications, geometry and representation may be stored in a single CAD file or multiple ones. CAD systems include graphic tools for representing the modeled objects to the designers; these tools are dedicated to the display of complex objects—the typical size of a file representing an object in a CAD system extending up to the range of a Mega-byte for part, and an assembly may comprise thousands of parts. A CAD system manages models of objects, which are stored in electronic files.
Designing a mechanical part with a known CAD system can be seen as defining the geometrical shape and dimensions of said part so as to fit functional and manufacturing requirements. Mainly, the resulting shape is a combination of basic features such as pad, pocket, groove, shaft etc. created by the designer. Through complex geometrical and topological computations, the CAD system yields the boundary representation of the solid (mechanical part) as e.g. a closed and oriented surface.
Other basic elements may form the shape of a part or a product, amongst which are the ruled surfaces. Ruled surface design may be part of a computer aided geometric design system. Rigorously, in geometry, a surface S is ruled if through every point of S there is a straight line that lies on S. Celebrated examples are the plane and the curved surface of a cylinder or cone. A ruled surface can accordingly be visualized as the surface formed by moving a line segment, i.e. a “straight” line in space. For example, a cone is formed by keeping one end-point of a line fixed whilst moving the other end-point in a circle. The line segment motion is for instance governed by two guiding curves, e.g. defined by the user, so that the end points of the line segment move along each guiding curve.
Ruled surfaces are often used in tooling design (e.g. casting, flash zone of forging dies, cutting tool for forged part) as well as shape design (e.g. chamfer in mechanical part design, tilted surface in architecture).
Developable surfaces, which can be unfolded into a plane without deformation, are known as a special case of ruled surfaces, incorporating an extra constraint of developability in addition to the above characteristics of a ruled surface.
Developable surfaces are used in the design of objects which must be manufactured from flat sheets of a (quasi) inextensible material, such that the material is only folded to fit the shape. Many man made objects, such as luxury handbags made of leather, certain buildings, and individual plates for ship hulls, are designed in this manner.
Several computational methods and algorithms related to ruled surface design are known in the art. A main problem is to conveniently couple the two guiding curves. There is an infinity of ways to connect the two input guiding curves by moving a line segment. The coupling strategy is thus a key feature of ruled surface design. Two coupling technologies are used.
The first one is the “implicit coupling”, wherein, broadly, the CAD system is in charge of the coupling strategy. The CAD system runs an algorithm embedding a “cost function” so that the ruled surface is computed as the solution of an optimization problem, and in particular a cost-minimization problem. The cost function may capture physical properties like minimal surface area, maximal developability, minimal bending energy, minimal mean curvature variation or minimal normal variation. Furthermore, the cost function may linearly combine several of such criteria. In addition, a dedicated “coupling function”, or equivalently a corresponding “coupling curve”, captures how each point of the first guiding curve is connected to a point of the other guiding curve.
The coupling function is involved in the cost function together with the geometrical definition of the guiding curves. A basic property of the coupling function is to be monotonous. Otherwise, the resulting surface is singular (folded or pinched), which makes the surface unusable in any further geometrical processing. A typical reference about implicit coupling is “Optimal boundary triangulations of an interpolating ruled surface”, C. C. L Wang, K. Tang, Journal of Computing and Information Science in Engineering, Vol. 5, 2005.
In addition, a “local repair” may occur. The corresponding technology is the following. A user lets the CAD system compute a ruled surface through its own implicit coupling strategy. Generally, the resulting surface is not satisfactory. Then, thanks to an interactive toolkit, the user removes by hand the “bad” portions of surface and fills the gap with a fill surface. Notice that the fill surface is defined by boundary and tangency conditions, it is not a ruled surface.
A second technology known is the “explicit coupling”. Here, the CAD system user is in charge of the coupling strategy. The CAD system asks the user to select points on a guiding curve and to select the corresponding points on the other guiding curve. The number of connected points is the user's choice. This results in a finite set of coupled points, connected by line segments. Then the CAD system fills the empty space between consecutive coupling segments using a known interpolation strategy.
The known methods of implicit coupling may further make use of a numerical optimization algorithm. The scientific literature provides a large number of such algorithms.
The above methods are not infallible.
For example, implicit coupling methods involve a cost function driven or inspired by physical properties or the like. Illustrated in FIGS. 1A-C (as from the paper of Wang and Tang cited above), two ruled surfaces obtained from the same guiding curves (FIG. 1A) through different physical criteria (FIGS. 1B-1C). Notice the bad quality of surface due to local concentration of line segments. Thus, the quality of resulting surfaces must be improved.
Explicit coupling is the responsibility of the mechanical CAD user. The first drawback of this technology is that a human operator cannot deal with hundreds of coupling segments connecting two guiding curves. A few dozens is a reasonable limit, which restricts the designing scope. Next drawback is that the coupling has to be redefined or updated each time a guiding curve is modified. Even if the CAD system is history-based (meaning that points initially defined on a curve are automatically redefined on the modified curve), there is no guarantee that the updated coupling plugged on the updated guiding curves provides a correct ruled surface. Consequently, the user has to check the modified surface and, in many cases, has to rework the coupling. The last drawback of explicit coupling is that it never works at first shot. It is improved by the user through a tedious try and error iterative process. Furthermore, this try and error process is potentially required each time a guiding curve is modified.
Finally, the methods involving local repair are essentially a manual procedure. It relies on the ability of the user to see where the ruled surface is not correct. A very small singularity can be missed. Obviously, the local repair of an initial ruled surface is not suited to the modified ruled surface. Once more, local repair process has to be redone each time a guiding curve is modified.
In a few words, existing technology provides solutions that result in a bad quality output or a time consuming design process.
In addition, the underlying algorithms of implicit coupling often fail, especially in the case of involved guiding curves. Their robustness is therefore questionable.